import type { App } from 'vue';
import { useUserStore } from '@/stores';

// 自定义指令
const plugin = {
  install(app: App<Element>) {
    // main.ts中使用app.use() 就会自动执行install函数并且传入当前实例对象app
    app.directive('permission', {
      mounted(el, binding) {
        const userStore = useUserStore();
        // 获取当前角色权限点
        const points = userStore.user?.role.points || [];
        if (!points.includes(binding.value)) {
          el.remove(); // 移除元素节点
        }
      },
    });
  },
};

export default plugin;
